package com.cz.fra.service;

import java.util.List;

import com.cz.fra.entity.User;

public interface AccountService {

	/**
	 * Add Account/Registration
	 * 
	 * @param newAccount
	 * @return String message
	 * @throws ServiceException
	 */
	public String addAccount(User newUser) throws ServiceException;
	
	/**
	 * Validate the Accounts to be added.
	 * 
	 * @param newAccount
	 * @return true if validation passed, otherwise return false.
	 * @throws ServiceException
	 */
	public boolean addAccountValidation(User newUser) throws ServiceException;
	
	/**
	 * If username is already registered, return the username list to client to avoid another time of failure.
	 * 
	 * @return username list
	 * @throws ServiceException
	 */
	public List<String> getUsernameList() throws ServiceException;
	
	/**
	 * 
	 * @return
	 * @throws ServiceException
	 */
	public List<User> getUserList() throws ServiceException;
	
	/**
	 * 
	 * @param username
	 * @return
	 * @throws ServiceException
	 */
	public int getUserIdByUsername(String username) throws ServiceException;
}
